security_check();
if ($resultat_session == 'c') {
header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes");
die();
} else if ($resultat_session == '0') {
header("Location: ../logout.php?auto=1");
die();
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
require('sanctions_func_lib.php');
$persoAutorise = TRUE;
$msg="";
// recupération des parametres
$periode=isset($_POST['periode']) ? $_POST['periode'] : (isset($_GET['periode']) ? $_GET['periode'] : NULL);
// Pour pouvoir utiliser des modèles différents pour les fin et mi période, on n'imprime qu'un seul type à la fois
$s_periode=isset($_POST['s_periode']) ? $_POST['s_periode'] : (isset($_GET['s_periode']) ? $_GET['s_periode'] : "n");
$id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : (isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL);
$eleve=isset($_POST['eleve']) ? $_POST['eleve'] : (isset($_GET['eleve']) ? $_GET['eleve'] : NULL);
if(getSettingANon("mod_disc_avertissements_mi_periode")) {
$s_periode="n";
}
//debug_var();
if($_SESSION['statut']=='professeur') {
if(getSettingAOui('imprDiscProfAvtOOo')) {
$tab_restriction_classes=get_classes_from_prof($_SESSION['login']);
}
elseif(getSettingAOui('imprDiscProfPAvtOOo')) {
$tmp_tab=get_tab_ele_clas_pp($_SESSION['login']);
$tab_restriction_classes=array();
for($loop2=0;$loop2";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res)>0) {
$cpt_resp=0;
while($lig=mysqli_fetch_object($res)) {
$tmp_tab_pers_id[$cpt_resp]=get_info_responsable("", $lig->pers_id);
$cpt_resp++;
}
}
debug_impr("Apres extraction des responsables");
/*
// Mettre à jour la liste des variables dans:
http://www.sylogix.org/projects/gepi/wiki/Mod_discipline_OOo_avertissements
//get_info_responsable($login_resp, $pers_id="")
//get_adresse_responsable($pers_id, $login_resp="");
$tab_adresse['adr_id']=$lig->adr_id;
$tab_adresse['adr1']=$lig->adr1;
$tab_adresse['adr2']=$lig->adr2;
$tab_adresse['adr3']=$lig->adr3;
$tab_adresse['cp']=$lig->cp;
$tab_adresse['commune']=$lig->commune;
$tab_adresse['pays']=$lig->pays;
$tab_adresse['en_ligne']=$lig->adr1;
*/
$tmp_tab_info_parent=array();
if(getSettingAOui('mod_disc_avertissement_impression_parents_separes')) {
debug_impr("mod_disc_avertissement_impression_parents_separes=true");
// On fera peut-être deux tours pour l'élève courant
if(count($tmp_tab_pers_id)>1) {
if(responsables_adresses_separees($current_eleve_login)) {
// On va faire deux tours pour l'élève courant
$tmp_tab_info_parent[0]['designation_resp']=$tmp_tab_pers_id[0]['civ_denomination'];
$tmp_tab_info_parent[0]['adresse']=$tmp_tab_pers_id[0]['adresse'];
$tmp_tab_info_parent[1]['designation_resp']=$tmp_tab_pers_id[1]['civ_denomination'];
$tmp_tab_info_parent[1]['adresse']=$tmp_tab_pers_id[1]['adresse'];
}
else {
// On ne va faire qu'un tour pour l'élève courant
if($tmp_tab_pers_id[0]['nom']!=$tmp_tab_pers_id[1]['nom']) {
$designation_resp=$tmp_tab_pers_id[0]['civilite']." ".$tmp_tab_pers_id[0]['nom']." ".$tmp_tab_pers_id[0]['prenom']." et ".$tmp_tab_pers_id[1]['civilite']." ".$tmp_tab_pers_id[1]['nom']." ".$tmp_tab_pers_id[1]['prenom'];
}
else {
$designation_resp=$tmp_tab_pers_id[0]['civilite']." et ".$tmp_tab_pers_id[1]['civilite']." ".$tmp_tab_pers_id[0]['nom']." ".$tmp_tab_pers_id[0]['prenom'];
}
$tmp_tab_info_parent[0]['designation_resp']=$designation_resp;
$tmp_tab_info_parent[0]['adresse']=$tmp_tab_pers_id[0]['adresse'];
}
}
else {
$tmp_tab_info_parent[0]['designation_resp']=$tmp_tab_pers_id[0]['civ_denomination'];
$tmp_tab_info_parent[0]['adresse']=$tmp_tab_pers_id[0]['adresse'];
}
}
else {
debug_impr("mod_disc_avertissement_impression_parents_separes=false");
// On ne fera qu'un tour pour l'élève courant même si les parents sont séparés
if(responsables_adresses_separees($current_eleve_login)) {
$tmp_tab_info_parent[0]['designation_resp']=$tmp_tab_pers_id[0]['civ_denomination'];
$tmp_tab_info_parent[0]['adresse']=$tmp_tab_pers_id[0]['adresse'];
}
elseif(count($tmp_tab_pers_id)>1) {
if($tmp_tab_pers_id[0]['nom']!=$tmp_tab_pers_id[1]['nom']) {
$designation_resp=$tmp_tab_pers_id[0]['civilite']." ".$tmp_tab_pers_id[0]['nom']." ".$tmp_tab_pers_id[0]['prenom']." et ".$tmp_tab_pers_id[1]['civilite']." ".$tmp_tab_pers_id[1]['nom']." ".$tmp_tab_pers_id[1]['prenom'];
}
else {
$designation_resp=$tmp_tab_pers_id[0]['civilite']." et ".$tmp_tab_pers_id[1]['civilite']." ".$tmp_tab_pers_id[0]['nom']." ".$tmp_tab_pers_id[0]['prenom'];
}
$tmp_tab_info_parent[0]['designation_resp']=$designation_resp;
$tmp_tab_info_parent[0]['adresse']=$tmp_tab_pers_id[0]['adresse'];
}
else {
$tmp_tab_info_parent[0]['designation_resp']=$tmp_tab_pers_id[0]['civ_denomination'];
$tmp_tab_info_parent[0]['adresse']=$tmp_tab_pers_id[0]['adresse'];
}
}
debug_impr("Avant la boucle sur les parents");
for($loop_resp=0;$loop_resp0) {
while($lig=mysqli_fetch_object($res)) {
if($lig->num_periode==$current_periode) {
$tab_eleves_OOo[$nb_eleve]['per'][$lig->num_periode]="X";
// Nom de la période
$tab_eleves_OOo[$nb_eleve]['nomper']=$lig->nom_periode;
}
else {
$tab_eleves_OOo[$nb_eleve]['per'][$lig->num_periode]="";
}
}
}
$tab_eleves_OOo[$nb_eleve]['suivi_par']=getParamClasse($current_id_classe,'suivi_par',"");
$tab_eleves_OOo[$nb_eleve]['suivi_par_alt']=getParamClasse($current_id_classe,'suivi_par_alt',"");
$tab_eleves_OOo[$nb_eleve]['suivi_par_alt_fonction']=getParamClasse($current_id_classe,'suivi_par_alt_fonction',"");
$tab_eleves_OOo[$nb_eleve]['titre_pp']=casse_mot(retourne_denomination_pp($current_id_classe), "majf2");
$tmp_tab_pp=get_tab_prof_suivi($current_id_classe);
$liste_pp="";
for($loop_pp=0;$loop_pp0) {
$liste_pp.="";
}
$liste_pp.=affiche_utilisateur($tmp_tab_pp[$loop_pp], $current_id_classe);
}
$tab_eleves_OOo[$nb_eleve]['pp']=$liste_pp;
$tab_eleves_OOo[$nb_eleve]['annee']=getSettingValue('gepiYear');
$tab_eleves_OOo[$nb_eleve]['etab']=getSettingValue('gepiSchoolName');
$tab_eleves_OOo[$nb_eleve]['adr1']=getSettingValue('gepiSchoolAdress1');
$tab_eleves_OOo[$nb_eleve]['adr2']=getSettingValue('gepiSchoolAdress2');
$tab_eleves_OOo[$nb_eleve]['cp']=getSettingValue('gepiSchoolZipCode');
$tab_eleves_OOo[$nb_eleve]['ville']=getSettingValue('gepiSchoolCity');
$tab_eleves_OOo[$nb_eleve]['tel']=getSettingValue('gepiSchoolTel');
$tab_eleves_OOo[$nb_eleve]['fax']=getSettingValue('gepiSchoolFax');
$tab_eleves_OOo[$nb_eleve]['email']=getSettingValue('gepiSchoolEmail');
$tab_eleves_OOo[$nb_eleve]['rne']=getSettingValue('gepiSchoolRne');
$tab_eleves_OOo[$nb_eleve]['acad']=getSettingValue('gepiSchoolAcademie');
// 20151125: A COMPLETER: Récupérer les infos parents pour pouvoir générer une ou deux fiches avec adresse selon que l'adresse est la même ou non
// id_type_avertissement
$tab_eleves_OOo[$nb_eleve]['ita']=array();
$tmp_tab=array();
//$sql="SELECT * FROM s_avertissements WHERE login_ele='".$current_eleve_login."' AND periode='".$current_periode."' AND s_periode='".$current_s_periode."';";
$sql="SELECT * FROM s_avertissements WHERE login_ele='".$current_eleve_login."' AND periode='".$current_periode."' AND s_periode='".$s_periode."';";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res)>0) {
while($lig=mysqli_fetch_object($res)) {
$tmp_tab[]=$lig->id_type_avertissement;
}
}
foreach($tab_type_avertissement_fin_periode['id_type_avertissement'] as $key => $value) {
if(in_array($key, $tmp_tab)) {
$tab_eleves_OOo[$nb_eleve]['ita'][$key]="X";
}
else {
$tab_eleves_OOo[$nb_eleve]['ita'][$key]="";
}
}
// [eleves.sc.116A; if [val]='MS'; then X ; else '']
$tab_eleves_OOo[$nb_eleve]['designation_resp']=$tmp_tab_info_parent[$loop_resp]['designation_resp'];
$tab_eleves_OOo[$nb_eleve]['resp_adr1']=$tmp_tab_info_parent[$loop_resp]['adresse']['adr1'];
$tab_eleves_OOo[$nb_eleve]['resp_adr2']=$tmp_tab_info_parent[$loop_resp]['adresse']['adr2'];
$tab_eleves_OOo[$nb_eleve]['resp_adr3']=$tmp_tab_info_parent[$loop_resp]['adresse']['adr3'];
$tab_eleves_OOo[$nb_eleve]['resp_cp']=$tmp_tab_info_parent[$loop_resp]['adresse']['cp'];
$tab_eleves_OOo[$nb_eleve]['resp_commune']=$tmp_tab_info_parent[$loop_resp]['adresse']['commune'];
$tab_eleves_OOo[$nb_eleve]['resp_pays']=$tmp_tab_info_parent[$loop_resp]['adresse']['pays'];
debug_impr("Fin du remplissage de \$tab_eleves_OOo[$nb_eleve]");
$nb_eleve++;
}
}
}
/*
[eleves;block=begin]
[eleves;block=end]
echo "
";
print_r($tab_eleves_OOo);
echo "
";
*/
$mode_ooo="imprime";
include_once('../tbs/tbs_class.php');
include_once('../tbs/plugins/tbs_plugin_opentbs.php');
// Création d'une classe TBS OOo class
$OOo = new clsTinyButStrong;
$OOo->Plugin(TBS_INSTALL, OPENTBS_PLUGIN);
$prefixe_generation_hors_dossier_mod_ooo="../mod_ooo/";
if($s_periode=="y") {
$nom_fichier_modele_ooo="avertissement_mi_periode.odt";
}
else {
$nom_fichier_modele_ooo="avertissement_fin_periode.odt";
}
//les chemins contenant les données
include_once("../mod_ooo/lib/chemin.inc.php");
$OOo->LoadTemplate($nom_dossier_modele_a_utiliser.$nom_fichier_modele_ooo, OPENTBS_ALREADY_UTF8);
$OOo->MergeBlock('eleves',$tab_eleves_OOo);
$nom_fic = $nom_fichier_modele_ooo;
if(count($tab_liste_classes)<5) {
if($s_periode=="y") {
$nom_fic="avertissement_mi_periode";
}
else {
$nom_fic="avertissement_fin_periode";
}
//$nom_fic="avertissement_fin_periode";
for($loop=0;$loopShow(OPENTBS_DOWNLOAD, $nom_fic);
$OOo->remove(); //suppression des fichiers de travail
$OOo->close();
die();
}
//**************** EN-TETE *******************************
// End standart header
$titre_page = "Impression des $mod_disc_terme_avertissement_fin_periode";
require_once("../lib/header.inc.php");
//********************************************************
//debug_var();
if(getSettingAOui('active_mod_discipline')) {
echo "
Retour";
}
if(!isset($periode)) {
// Choix de la (des?) période(s)
echo "
\n
Impression des $mod_disc_terme_avertissement_fin_periode
\n
NOTES : Le fichier modèle OOo proposé par défaut utilise une police particulière pour les cases à cocher (gepi.ttf)
Il faut mettre en place cette police sur votre machine pour obtenir les cases correctement cochées.
A défaut, vous pouvez opter pour un autre mode d'affichage en créant votre propre modèle.
Quelques ressources :
Les champs tests sur les cases cochées pour les avertissements nécessitent que vous sachiez quel est l'identifiant de chaque sanction.
Pour information, sur votre Gepi, la liste est la suivante :
".affiche_tab_type_avertissement()."
Pour le type dont l'identifiant est 1 (si cet identifiant existe), le test serait [eleves.ita.1; if [val]='X'; then X ; else 0]
Le X est traduit avec la police gepi.ttf par une case cochée, et le 0 par une case non cochée.